widget: Don't leak a reference when reordering
authorMatthias Clasen <mclasen@redhat.com>
Sat, 9 May 2020 23:27:05 +0000 (19:27 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 9 May 2020 23:27:56 +0000 (19:27 -0400)
When reordering a widget that is alrady under the
same parent, we must not take another reference.

gtk/gtkwidget.c

index 167d9a15ab7f3b66446a6fe4d13f492036e8b022..15c775aa44fa1e48ab7dc2edbbd7dec3c2160abc 100644 (file)
@@ -5824,7 +5824,8 @@ gtk_widget_reposition_after (GtkWidget *widget,
   /* keep this function in sync with gtk_menu_attach_to_widget()
    */
 
-  g_object_ref_sink (widget);
+  if (priv->parent == NULL)
+    g_object_ref_sink (widget);
 
   gtk_widget_push_verify_invariants (widget);